package com.zgl.gemduel.model;

import lombok.Data;
import java.util.List;
import java.util.Map;

@Data
public class RoomResource {
    // 房间状态
    private String status; // "waiting", "playing", "finished"
    // 玩家信息
    private List<String> playerIps;
    // 玩家面板 key为玩家ip
    private Map<String, userPanel> playerPanels;
    // 黑袋 使用过的宝石列表
    private List<gem>  blackBag;
    // 类型为1的卡片（等级一）
    private List<card> CardListA ;
    // 类型为2的卡片（等级二）
    private List<card> CardListB ;
    // 类型为3的卡片（等级三）
    private List<card> CardListC ;
    // 类型为4的卡片（等级四）
    private List<card> CardListD ;
    // 宝石在宝石盘的位置 存储宝石id 若为空则为-1
    private List<String> gemPositon ;
    // 初始宝石列表
    private List<gem> gemSource;
    // 当前回合执行人
    private String currentPlayerIp;
    // 下一回合执行人
    private String nextPlayerIp;
    // 当前玩家是否已补充宝石盘
    private boolean isFilled;
    // 当前玩家是否可以使用特权
    private boolean canUsePrivilege;
    // 当前玩家是否可以补充宝石盘
    private boolean canRefillGemBoard;
    // 回合数
    private int round;
    // 保留的卡片 key为玩家ip
    private Map<String, List<card>> keepCards;
    // 购买的卡片 key为玩家ip
    private Map<String, List<card>> buyCards;
    // 游戏配置
    private GameConfig gameConfig;
    // 公共特权数
    private int publicPrivilege;
}